cmake_minimum_required(VERSION 3.17)
project(putty C)

set(CMAKE_C_STANDARD 11)

include_directories(.)
include_directories(charset)
include_directories(contrib/cygtermd)
include_directories(windows)

add_executable(putty
        charset/charset.h
        charset/enum.c
        charset/fromucs.c
        charset/internal.h
        charset/localenc.c
        charset/macenc.c
        charset/mimeenc.c
        charset/sbcs.c
        charset/sbcsdat.c
        charset/slookup.c
        charset/toucs.c
        charset/utf8.c
        charset/xenc.c
        contrib/cygtermd/main.c
        contrib/cygtermd/malloc.c
        contrib/cygtermd/malloc.h
        contrib/cygtermd/pty.c
        contrib/cygtermd/pty.h
        contrib/cygtermd/sel.c
        contrib/cygtermd/sel.h
        contrib/cygtermd/telnet.c
        contrib/cygtermd/telnet.h
        test/sclog/sclog.c
        windows/rcstuff.h
        windows/sizetip.c
        windows/win_res.h
        windows/wincapi.c
        windows/wincapi.h
        windows/wincfg.c
        windows/wincons.c
        windows/winctrls.c
        windows/windefs.c
        windows/windlg.c
        windows/window.c
        windows/wingss.c
        windows/winhandl.c
        windows/winhelp.c
        windows/winhelp.h
        windows/winhsock.c
        windows/winjump.c
        windows/winmisc.c
        windows/winmiscs.c
        windows/winnet.c
        windows/winnohlp.c
        windows/winnoise.c
        windows/winnojmp.c
        windows/winnpc.c
        windows/winnps.c
        windows/winpgen.c
        windows/winpgnt.c
        windows/winpgntc.c
        windows/winplink.c
        windows/winprint.c
        windows/winproxy.c
        windows/winsecur.c
        windows/winsecur.h
        windows/winser.c
        windows/winsftp.c
        windows/winshare.c
        windows/winstore.c
        windows/winstuff.h
        windows/wintime.c
        windows/winucs.c
        windows/winutils.c
        windows/winx11.c
        agentf.c
        aqsync.c
        be_all.c
        be_all_s.c
        be_misc.c
        be_none.c
        be_nos_s.c
        be_nossh.c
        be_ssh.c
        callback.c
        cgtest.c
        cmdgen.c
        cmdline.c
        conf.c
        config.c
        cproxy.c
        defs.h
        dialog.c
        dialog.h
        ecc.c
        ecc.h
        empty.h
        errsock.c
        fuzzterm.c
        import.c
        ldisc.c
        ldisc.h
        licence.h
        logging.c
        mainchan.c
        marshal.c
        marshal.h
        memory.c
        minibidi.c
        misc.c
        misc.h
        miscucs.c
        mpint.c
        mpint.h
        mpint_i.h
        network.h
        nocmdline.c
        nocproxy.c
        nogss.c
        noprint.c
        noshare.c
        noterm.c
        notiming.c
        nullplug.c
        pageant.c
        pageant.h
        pgssapi.c
        pgssapi.h
        pinger.c
        portfwd.c
        pproxy.c
        proxy.c
        proxy.h
        pscp.c
        psftp.c
        psftp.h
        psftpcommon.c
        putty.h
        puttymem.h
        puttyps.h
        raw.c
        resource.h
        rlogin.c
        scpserver.c
        sercfg.c
        sesschan.c
        sessprep.c
        settings.c
        sftp.c
        sftp.h
        sftpcommon.c
        sftpserver.c
        ssh.c
        ssh.h
        ssh1bpp.c
        ssh1censor.c
        ssh1connection-client.c
        ssh1connection-server.c
        ssh1connection.c
        ssh1connection.h
        ssh1login-server.c
        ssh1login.c
        ssh2bpp-bare.c
        ssh2bpp.c
        ssh2censor.c
        ssh2connection-client.c
        ssh2connection-server.c
        ssh2connection.c
        ssh2connection.h
        ssh2kex-client.c
        ssh2kex-server.c
        ssh2transhk.c
        ssh2transport.c
        ssh2transport.h
        ssh2userauth-server.c
        ssh2userauth.c
        sshaes.c
        ssharcf.c
        sshauxcrypt.c
        sshbcrypt.c
        sshblowf.c
        sshblowf.h
        sshbpp.h
        sshccp.c
        sshchan.h
        sshcommon.c
        sshcr.h
        sshcrc.c
        sshcrcda.c
        sshdes.c
        sshdh.c
        sshdss.c
        sshdssg.c
        sshecc.c
        sshecdsag.c
        sshgss.h
        sshgssc.c
        sshgssc.h
        sshhmac.c
        sshmac.c
        sshmd5.c
        sshnogss.c
        sshppl.h
        sshprime.c
        sshprng.c
        sshpubk.c
        sshrand.c
        sshrsa.c
        sshrsag.c
        sshserver.c
        sshserver.h
        sshsh256.c
        sshsh512.c
        sshsha.c
        sshshare.c
        sshsignals.h
        sshttymodes.h
        sshverstring.c
        sshzlib.c
        storage.h
        stripctrl.c
        telnet.c
        terminal.c
        terminal.h
        testback.c
        testcrypt.c
        testcrypt.h
        testsc.c
        testzlib.c
        time.c
        timing.c
        tree234.c
        tree234.h
        utils.c
        version.c
        version.h
        wcwidth.c
        wildcard.c
        x11fwd.c)
